#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 5e3 + 10;

int n, m, k;
int f[N][N];
LL ans;

void insert(int x1, int y1, int x2, int y2, int k)
{
	f[x1][y1] += k;
	f[x1][y2 + 1] -= k;
	f[x2 + 1][y1] -= k;
	f[x2 + 1][y2 + 1] += k;
}

int main()
{
	cin >> n >> m >> k;
	while(m --)
	{
		int x, y, z; cin >> x >> y >> z;
		insert(x, y, x, y, z);
	}

	for(int i = 1;i <= n - k + 1;i ++)
	{
		for(int j = 1;j <= n - k + 1;j ++)
		{
			int x2 = i + k - 1, y2 = j + k - 1;
			ans += abs(f[i][j]);
			insert(i, j, x2, y2, -f[i][j]);
		}
	}

	for(int i = 1;i <= n;i ++) 
	{
		for(int j = 1;j <= n;j ++)
		{
			if(f[i][j])
			{
				cout << -1 << endl;
				return 0;
			}
		}
	}
	cout << ans << endl;
	return 0;
}